SISTEMA DE TEMAS VECTORIALES DE FMAP
SUBCAPA DE OPERACIONES

 

 

Sistema de temas vectoriales de FMap.

Para distinguir capas de FMap de capas de software a las primeras nos referiremos como “temas” a partir de ahora.

Un tema en FMap está implementado en tres capas, desde abajo hacia arriba, la capa de driver, la capa de adaptador y la capa de interfaz.



Tema

Operaciones

Adaptación

Driver



La capa del driver viene definida por la implementación de una de las subinterfaces hijas de VectorialDriver, elegida en función de la naturaleza del origen de los datos (Base de datos, fichero, servidor WFS). Además de esta interfaz puede ser necesario implementar otras interfaces adicionales que ayudan a la definición del origen de datos (BoundedShapes). La única finalidad de esta capa es la de extraer la información del origen de datos físico en entidades propias de FMap y proporcionarselas a la capa superior.

La capa de adaptación viene definida por la interfaz VectorialAdapter. Esta capa se encarga de, dada una implementación de la capa inferior (driver) proporcionar a la capa superior una interfaz común, de forma que la capa superior pueda operar con datos vectoriales de manera transparente a su origen de datos. Ésta es la capa en la que se implementa toda la “inteligencia” de la fuente de datos: cacheado, indexado espacial interno de FMap, pool de conexiones, ...

La capa de interfaz consiste en todo aquello que accede a la capa de adaptación. Se puede subdividir en dos: la subcapa de tema y la subcapa de operaciones.

La subcapa de tema es la que da “personalidad” al tema. Esta capa se encarga de darle un nombre, asociar el tema con una leyenda, darle capacidad de selección, ...

Una de las funcionalidades que le da la subcapa de tema al mismo es la de realizar operaciones sobre los datos, dando así lugar a la otra subcapa, la de operaciones.

La subcapa de operaciones está definida por unas estrategias y unos visitors que se explicarán más adelante. Baste decir que se encuentran en ésta los algoritmos realizados sobre el adaptador (selección por punto, selección por geometría, ...).

Para tener una visión más global del sistema de capas de FMap se puede comentar que la interfaz DataStore de geotools se situaría en el nivel de Adaptación.

Subcapa de operaciones

Las operaciones que se pueden realizar sobre una capa vienen dadas por la interfaz FeatureVisitor. En dicha interfaz se define una operación sobre una fuente de datos sin especificar la estrategia de recorrido de las geometrías (aleatoria, secuencial, indexada, ...). La estrategia de recorrido viene definida por la implementación concreta de la interfaz Strategy. Dicha clase implementará una estrategia de recorrido y delegará la operación en el FeatureVisitor concreto que operará sobre las geometrías.

El recorrido se realiza sobre el adaptador, por lo que una estrategia sirve para cualquier fuente de datos (para cualquier implementación de la capa driver). Por otro lado, el vísitor no define la estrategia de recorrido y por lo tanto es independiente del tipo de acceso del adaptador (secuencial o aleatorio).